package types

type GetTenantUserWorkTimeStatistics struct {
	ProjectIdList []int64 `json:"project_id_list"`
	Category      string  `json:"category"`
	WorkDateStart string  `json:"work_date_from" binding:"required"`
	WorkDateEnd   string  `json:"work_date_to" binding:"required"`
	DepartmentId  int64   `json:"department_id"`
	RoleCode      string  `json:"role_code"`
	UserIds       []int64 `json:"user_ids"`
}

type GetTenantUserWorkTimeStatisticsRes []GetTenantUserWorkTimeStatisticsResItem
type GetTenantUserWorkTimeStatisticsResItem struct {
	Id           uint64  `json:"id"`
	Name         string  `json:"name"`           // 名称
	Type         string  `json:"type"`           // 行类型
	ParentId     uint64  `json:"parent_id"`      // 父级id
	WorkHour     float64 `json:"work_hour"`      // 工作时长 人员打卡时长
	TaskWorkHour float64 `json:"task_work_hour"` // 任务工时 任务
	ImUserId     uint64  `json:"im_user_id"`     // im用户Id
}

type UserWorkTimeSumRes struct {
	UserId   uint64 `json:"user_id"`
	WorkTime uint64 `json:"work_time"`
}

type UserWorkTimeTenantSumRes struct {
	TenantId uint64 `json:"tenant_id"`
	WorkTime uint64 `json:"work_time"`
}
type ExportUserWorkTimeStatisticsParams struct {
	ProjectIdList []int64 `json:"project_id_list"`
	WorkDateStart string  `json:"work_date_from" binding:"required"`
	WorkDateEnd   string  `json:"work_date_to" binding:"required"`
	Page          []int   `json:"page" binding:"required"`
}

// ExportUserWorkTimeStatistics 导出工时报表请求参数
type ExportUserWorkTimeStatistics struct {
	Param ExportUserWorkTimeStatisticsParams `json:"param"`
}

// ExportWorkTimeStatisticsResItem 导出工时报表返回参数
type ExportWorkTimeStatisticsResItem struct {
	Id           uint64  `json:"id"`
	Name         string  `json:"name"`           // 用户名
	WorkHour     float64 `json:"work_hour"`      // 工作时长 人员打卡时长
	TaskWorkHour float64 `json:"task_work_hour"` // 任务工时 任务
}
